package cn.datastruct.NineGrahp;

/**
 * Deep First Search 深度遍历
 * 思路：
 *      1.访问初始节点v,并标记节点v为已访问
 *      2.查找节点v的第一个邻接节点w
 *      3.若w存在，这执行4，如果w不存在，则返回1，从v的下一个节点开始
 *      4.若w未被访问，对w进行深度优先遍历递归（1，2，3）
 *      4查找节点v的w邻接节点的下一个邻接节点，转移到3
 */
public interface DFS {
    public int getNeighbor(int index);
    public int getNextNeighbor(int v1, int v2);
    public void dfs(boolean[] isVisited, int index);
    public void dfs();
}
